package com.tsinghua.server.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tsinghua.server.common.Result;
import com.tsinghua.server.base.entity.UserEntity;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

public interface UserService extends IService<UserEntity> {

    /**
     * 重置密码
     *
     * @param map
     * @return
     */
    boolean updatePass(Map map, HttpServletRequest request);

    boolean resetPass(HttpServletRequest request);

    /**
     * 生成token
     *
     * @param username 用户名
     * @param password 密码
     * @param key      验证码key
     * @param code     验证码值
     */
    String createToken(String username, String password, String key, String code);

    /**
     * 获取用户列表
     *
     * @param user     用户实体
     * @param pageSize 分页(分页大小)
     * @param PageNo   分页(当前页)
     */
    Result getList(UserEntity user, Integer pageSize, Integer PageNo);

    /**
     * 增加用户
     *
     * @param user 用户实体
     */
    Result addUser(UserEntity user);

    /**
     * 校验用户名称是否唯一
     *
     * @param userName 用户名称
     * @return 结果
     */
    public String checkUserNameUnique(String userName);


}
